package com.speedchina.permission.domain.sys.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.speedchina.framework.base.TEntity;
import com.speedchina.framework.validator.group.AddGroup;
import com.speedchina.framework.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NonNull;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 系统表 - 字典类型表 实体类
 * @author hank
 * @date 2021-04-08 13:31:41
 */
@Data
@TableName("t_sys_dict_type")
public class DictType extends TEntity<DictType> {
    /**
     * 字典类型编码【不可修改】
     */
    @TableId 
    @ApiModelProperty(value = "字典类型编码【不可修改】")
    @NotNull(message = "主键不可为null", groups = {AddGroup.class, UpdateGroup.class})
    private String code;
    /**
     * 字典显示名称
     */
    @ApiModelProperty(value = "字典显示名称")
    private String name;
    /**
     * 用途描述说明
     */
    @ApiModelProperty(value = "用途描述说明")
    private String description;
    /**
     * 使用状态 1 可用 0 不可用
     */
    @ApiModelProperty(value = "使用状态 1 可用 0 不可用")
    private String useFlag;
    /**
     * 元素数据类型: string 字符 , number 数字
     */
    @ApiModelProperty(value = "元素数据类型: string 字符 , number 数字")
    private String itemDataType;
    /**
     * 数据字典类型: system 系统级，business 业务级
     */
    @ApiModelProperty(value = "数据字典类型: system 系统级，business 业务级")
    private String dictType;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建者")
    private String createBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    /**
     * 修改者
     */
    @ApiModelProperty(value = "修改者")
    private String updateBy;
    /**
     * 字典项类型：list 列字典，tree 树形字典
     */
    @ApiModelProperty(value = "字典项类型：list 列字典，tree 树形字典")
    private String dictItemType;

    public DictType(){
    }

}
